package com.wyp.design.pattern.behavior.command;

import java.util.ArrayList;
import java.util.List;

/**
 * Staff 负责接收命令 并处理命令, 处理接收命令时,只需要将命令遍历执行 使用命令模式 可以将命令的发送者和执行者进行解耦.
 */
public class Staff {
    private List<Command> commandList = new ArrayList<Command>();

    /**
     * 天剑命令
     *
     * @param command
     */
    public void addCommand(Command command) {
        commandList.add(command);
    }

    /**
     * 执行命令
     */
    public void executeCommands() {
        for (Command command : commandList) {
            command.execute();
        }
        commandList.clear();
    }

}
